<!DOCTYPE>
<html>

<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
    <title>AMAP测试用例</title>
    <!--链接式:推荐使用-->
    <style type="text/css">
        input {
            -webkit-appearance: none;
            /*去除input默认样式*/
        }

        .jsapiButton {
            height: 30px;
            margin-left: 4%;
            margin-top: 10px;
            padding-left: 0px;
            width: 28%;
            outline: none;
            -webkit-appearance: none;
        }

        .descript_title {
            margin-bottom: 0px;
            font-size: 12px;
            font-weight: bold;
        }

        .descript_content {
            margin-top: 0px;
            margin-bottom: 0px;
            font-size: 12px;
        }
    </style>
</head>

<body>

    <div id="main" width="100%" height="100%">
        <p class="descript_title">harmonyos JS调用原生</p>
        <button class="jsapiButton" onclick="callToApp()">JS调用原生方法</button>
        <p class="descript_title">支付宝</p>
        <button class="jsapiButton" onclick="jsapi_call('isAlipayAppInstalled')">检查支付宝是否已被用户安装</button>
        <button class="jsapiButton" onclick="jsapi_call('alipay',{orderStr: '支付订单信息字符串'})">调起支付接口
        </button>
        <button class="jsapiButton" onclick="jsapi_call('aliAuth',{infoStr: '支付订单信息字符串'})">调起快登授权接口
        </button>
        <button class="jsapiButton" onclick="jsapi_call('alipayShare',{type: '0',text: '分享文字测试'})">
            分享文字
        </button>

        <p class="descript_title">安全键盘</p>

        <input width="600px" height="200px" id="amap_input_test" onclick="jsapi_call('onKeyboard',{type: '6',securityType: '3DES',secretKey: '111112222233333444445555',
           isUp: '1',modelID: 'amap_input_test',showType: '0'})" onfocus="blur()" value=""/>

        <p class="descript_title">二维码扫描</p>
        <button class="jsapiButton" onclick="jsapi_call('scanCode', {scanType:'qrCode',onlyFromCamera:true})">二维码扫描
        </button>
        <p class="descript_title">保存数据</p>
        <button class="jsapiButton" onclick="jsapi_call('setStorage', {key:'name',data:[2,3,4,5,6,7]})">保存数据
        </button>
        <p class="descript_title">获取数据</p>
        <button class="jsapiButton" onclick="jsapi_call('getStorage', {key:'name'})">获取数据
        </button>
        <p class="descript_title">删除数据</p>
        <button class="jsapiButton" onclick="jsapi_call('removeStorage', {key:'name'})">删除数据
        </button>

        <p class="descript_title">窗口控制</p>
        <p class="descript_content">
            pushWindow在示例中均推入了本身页面， popTo只能退回到本Session内的页面，popWindow无Session限制
        </p>
        <button class="jsapiButton" onclick="jsapi_call('pushWindow', {url:'index2.html',param:{isShowTitleBar:false,
                          jumpType:'1',back:{ showBack:true}}})">pushWindow
        </button>
        <button class="jsapiButton" onclick="jsapi_call('changeAppLanguage', {language:'CN'})">改变语言
        </button>

        <button class="jsapiButton" onclick="jsapi_call('pushWindow', {url:window.location.href,
            param: {
            username: 'xxxxx',
            password: 'aaaaaa',
            },
            passData: {
            username: 'xxxxx',
            password: 'aaaaaa',
            }
            })">pushWindow 自定义参数
        </button>
        <button class="jsapiButton" onclick="jsapi_call('popWindow')">popWindow</button>
        <button class="jsapiButton" onclick="jsapi_call('popTo', {
			index: '-1',
			data: {
				  from: 'xxx',
				  info: 'xxx'
				}
            })">popTo
        </button>

        <p class="descript_title">离线包跳转</p>
        <button class="jsapiButton" onclick="jsapi_call('startApp', {appId:'00010001',
                closeCurrentApp:true,
                param:{
                        url:'www/index_index.html',
                        title:{readTitle:false,title:'主标题'},
                        isShowTitleBar:false,
                        titleBarColor:'#ffffaa',
                        leftBtn:{
                          menus: [{
                                title: '设置',
                                redDot:'2'
                                },
                                {
                                title: '注册'
                            }]
                        },
                         rightBtn:{
                          menus: [{
                                title: '设置'
                                },
                                {
                                title: '注册'
                            }]
                        }
                      }
        })">startApp
        </button>
        <button class="jsapiButton" onclick="jsapi_call('startH5App', {appId:'90000000', param:{showOptionMenu:'NO'}})">
            startH5App
        </button>
        <button class="jsapiButton" onclick="jsapi_call('exitApp')">exitApp</button>
        <button class="jsapiButton" onclick="jsapi_call('popToRoot')">popToRoot</button>
        <button class="jsapiButton" onclick="jsapi_call('popToRoot',{index:'1'})">popToRoot 返回一页</button>
        <p class="descript_title">Ocr扫描</p>
        <button class="jsapiButton" onclick="jsapi_call('initOcr',{
         tmpSecretId:'',
         tmpSecretKey:'',
         token:'',
         ocrModeType:'1'
         })">初始化
        </button>
        <button class="jsapiButton" onclick="jsapi_call('updateFederationToken',{
        tmpSecretId:'',
        tmpSecretKey:'',
        token:''
    })">更新授权
        </button>
        <button class="jsapiButton" onclick="jsapi_call('openCardScan',{
        scanType:'4'
    })">扫描
        </button>

        <p class="descript_title">获取StartApp 参数</p>
        <button class="jsapiButton" onclick="jsapi_call('getStartupParams')">getStartupParams</button>
        <button class="jsapiButton" onclick="jsapi_call('getOfflinePackageInformation',{appId:'11111111'})">
            getOfflinePackageInformation
        </button>

        <button class="jsapiButton" onclick="jsapi_call('getStartupParams',{key:['url']})">
            getStartupParams
        </button>
        <p class="descript_title">导航栏背景与标题</p>
        <button class="jsapiButton" onclick="jsapi_call('showTitlebar')">showTitlebar</button>
        <button class="jsapiButton" onclick="jsapi_call('hideTitlebar')">hideTitlebar</button>
        <button class="jsapiButton" onclick="jsapi_call('setTitleColor',{'color':'#ffaaff'})">
            setTitleColor
        </button>
        <button class="jsapiButton" onclick="jsapi_call('setBarBottomLineColor',{'color':'#ccaaff'})">
            setBarBottomLineColor
        </button>
        <button class="jsapiButton" onclick="jsapi_call('setTitle',{'title':'新标题','subtitle':'副标题'})">
            setTitle
        </button>
        <button class="jsapiButton" onclick="jsapi_call('showTitleLoading')">showTitleLoading</button>
        <button class="jsapiButton" onclick="jsapi_call('hideTitleLoading')">hideTitleLoading</button>
        <button class="jsapiButton" onclick="jsapi_call('setH5Titlebar', {
                isShowTitleBar:true,
                titleBarColor:'#ffffaa',
                back:{
                      backText:'返回',
                      showBack:true
                    },
               leftBtn:{
                        icon:'',
                    }
             } )">setH5Titlebar
        </button>
        <p class="descript_title">导航栏右侧按钮</p>
        <button class="jsapiButton" onclick="jsapi_call('setOptionMenu',{
            title : '按钮',
            redDot : '5', // -1 表示不显示，0 表示显示红点，1-99 表示在红点上显示的数字
            color : '#ff00ff00', // 必须以＃开始 ARGB 颜色值
            })">setOptionMenu：单个文字按钮
        </button>
        <button class="jsapiButton" onclick="jsapi_call('setOptionMenu',{
            icon : 'http://pic.alipayobjects.com/e/201212/1ntOVeWwtg.png',
            redDot : '-1', // -1 表示不显示，0 表示显示红点，1-99 表示在红点上显示的数字
            })">setOptionMenu：单个图片按钮
        </button>
        <button class="jsapiButton" onclick="jsapi_call('setOptionMenu',{
            menus: [{
            title: '设置'
            },
            {
            title: '注册'
            }],
            override: true
            })">setOptionMenu：多个按钮
        </button>
        <button class="jsapiButton" onclick="jsapi_call('showOptionMenu')">showOptionMenu</button>
        <button class="jsapiButton" onclick="jsapi_call('hideOptionMenu')">hideOptionMenu</button>

        <p class="descript_title">界面弹框</p>
        <button class="jsapiButton" onclick="jsapi_call1('alert', {
            title: '亲',
            message: '你好',
            button: '确定'
            })">alert
        </button>
        <button class="jsapiButton" onclick="jsapi_call('confirm', {
            title: '亲',
            message: '确定要退出吗？',
            okButton: '是',
            cancelButton: '否'
            })">confirm
        </button>
        <button class="jsapiButton" onclick="jsapi_call('prompt', {
            title: '亲',
            message: '确定要这么干吗？',
            placeholder:'提示文案',
            okButton: '是',
            cancelButton: '否'
            })">prompt
        </button>
        <button class="jsapiButton" onclick="jsapi_call('toast', {
            content: '操作成功',
            duration: '2000'
            })">toast
        </button>
        <button class="jsapiButton" onclick="jsapi_call_actionSheet()">actionSheet</button>
        <button class="jsapiButton" onclick="jsapi_call_showLoading()">showLoading</button>
        <button class="jsapiButton" onclick="jsapi_call('hideLoading')">hideLoading</button>

        <p class="descript_title">截图</p>
        <button class="jsapiButton" onclick="jsapi_call('snapshot', { // 保存本地截图
            range: 'screen',
            dataType: 'none',
            saveToGallery: true
            })">截图
        </button>

        <p class="descript_title">音频</p>
        <button class="jsapiButton" onclick='startAudio()'>录音 startAudio</button>
        <button class="jsapiButton" onclick='playAudio()'>播放录音 playAudio</button>

        <p class="descript_title">签名</p>
        <button class="jsapiButton" onclick='signature()'>手写签名 signature</button>

        <p class="descript_title">日志</p>
        <button class="jsapiButton" onclick="jsapi_call('uploadLog', {
            uploadUrl:'https://amap.agreechina.com:443/manager/deviceLog/cLogUpload'
            })">上报日志 uploadLog
        </button>
        <button class="jsapiButton" onclick="jsapi_call('deleteLog')">删除日志 deleteLog</button>
        <button class="jsapiButton" onclick="jsapi_call('recordJsLog',{
            jsLog : '日志内容',
            logMode : 'ERROR',
            logType : 'RNLog'
        })">记录日志 recordJsLog
        </button>

        <p class="descript_title">推送</p>
        <button class="jsapiButton" onclick="jsapi_call('cutMessageNum',{
            unReadMessageNum : '10'
        })">减少设置桌面消息角标 cutMessageNum
        </button>

        <p class="descript_title">数据库</p>
        <button class="jsapiButton" onclick="jsapi_call('execSQLite',{
            sql : 'CREATE TABLE IF NOT EXISTS user(_id integer primary key autoincrement,name varchar(20),age varchar(20))'
        })">建表 execSQLite
        </button>
        <button class="jsapiButton" onclick="jsapi_call('execSQLite',amapvalue)">执行SQL语句（查询除外)
            execSQLite
        </button>
        <button class="jsapiButton" onclick="jsapi_call('querySQLite',{
            sql:'select * from user where name=?',
            condition:['大白']
        })">调用数据库 查询 querySQLite
        </button>

        <p class="descript_title">相机</p>
        <button class="jsapiButton" onclick='getPhoto()'>拍照 getPhoto</button>
        <button class="jsapiButton" onclick='getMovie()'>录像 getMovie</button>

        <p class="descript_title">内存存储</p>
        <button class="jsapiButton" onclick="jsapi_call('saveObject',{
            key : 'amap',
            value : {
                str : '123'
            }
        })">对象存储 saveObject
        </button>
        <button class="jsapiButton" onclick="jsapi_call('getObject',{
            key : 'amap'
        })">对象获取 getObject
        </button>
        <button class="jsapiButton" onclick="jsapi_call('removeObject',{
            key : 'amap'
        })">对象删除 removeObject
        </button>

        <p class="descript_title">偏好存储</p>
        <button class="jsapiButton" onclick="jsapi_call('saveDefaults',{
            key : 'amap',
            value : {
                str : '123'
            }
        })">对象存储 saveDefaults
        </button>
        <button class="jsapiButton" onclick="jsapi_call('getDefaults',{
            key : 'amap'
        })">对象获取 getDefaults
        </button>
        <button class="jsapiButton" onclick="jsapi_call('removeDefaults',{
            key : 'amap'
        })">对象删除 removeDefaults
        </button>

        <p class="descript_title">地图</p>
        <button class="jsapiButton" onclick="jsapi_call('openMap')">打开地图 openMap</button>
        <button class="jsapiButton" onclick="jsapi_call('navigation',{
            endLongitude : '118.466671',
            endLatitude : '42.021639',
            startLongitude : '116.466671',
            startLatitude : '40.021639'
        })">地图导航 navigation
        </button>
        <button class="jsapiButton" onclick="jsapi_call('LocationInfo')">获取定位信息 LocationInfo</button>

        <p class="descript_title">更新</p>
        <button class="jsapiButton" onclick="jsapi_call('checkAppUpdate')">app检查更新 checkAppUpdate
        </button>

        <p class="descript_title">二维码</p>
        <button class="jsapiButton" onclick="jsapi_call('scanCode')">二维码扫描 scanCode</button>
        <button class="jsapiButton" onclick='makeImg()'>生成二维码 makeImg</button>

        <p class="descript_title">视频</p>
        <button class="jsapiButton" onclick="jsapi_call('mediaPlayer',{
            filePath:'http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4'
        })">视频播放 mediaPlayer
        </button>

        <p class="descript_title">通讯录</p>
        <button class="jsapiButton" onclick="jsapi_call('getMailList',{
            type:'0'
        })">获取通讯录 getMailList
        </button>

        <p class="descript_title">系统定位</p>
        <button class="jsapiButton" onclick="jsapi_call('getLocation',{
            preciseEnabled:'1',
            altitude:'true',
            highAccuracyExpireTime:6000
        })">获取当前位置 getLocation
        </button>

        <p class="descript_title">统计分析</p>
        <button class="jsapiButton" onclick="jsapi_call('init',{
            url: 'https://amap.agreechina.com:443/ApiSystem/api/v1/interface',
            post: '1',
            postTime: '1',
            isDebug: false,
            isUpdate: false,
            isUpdateOnline: false,
            tag: '',
            userID: '',
            isUpdateOnlyWIFI: true,
            isSendLocation: true,
            sessionTime: ''
        })">统计始化
        </button>
        <button class="jsapiButton" onclick="jsapi_call('startPage',{
            page:'123'
        })">统计页面开始
        </button>
        <button class="jsapiButton" onclick="jsapi_call('endPage',{
            page:'123'
        })">统计页面结束
        </button>
        <button class="jsapiButton" onclick="jsapi_call('click',{
            click: '123',
            event_name: '事件名称'
        })">点击事件
        </button>

        <p class="descript_title">微应用跳转</p>
        <button class="jsapiButton" onclick="jsapi_call('showBundleProgress')">显示当前微应用更新进度</button>
        <button class="jsapiButton" onclick='goToListBundle()'>安卓跳转到微应用</button>
        <button class="jsapiButton" onclick='goToListBundleLoad()'>安卓跳转到带有loading的微应用</button>
        <button class="jsapiButton" onclick='goToListBundleH5()'>安卓跳转到h5离线包</button>
        <button class="jsapiButton" onclick='iOSgoToListBundle()'>iOS跳转到微应用</button>
        <button class="jsapiButton" onclick='iOSgoToListBundleLoad()'>iOS跳转到带有loading的微应用</button>
        <button class="jsapiButton" onclick='iOSgoToListBundleH5()'>iOS跳转到h5离线包</button>

        <p class="descript_title">生物识别</p>
        <button class="jsapiButton" onclick="jsapi_call('isSupported')">是否支持生物识别</button>
        <button class="jsapiButton" onclick="jsapi_call('reloadTouchDataID')">刷新存储指纹库</button>
        <button class="jsapiButton" onclick="jsapi_call('authenticate',{
            times: '3'
        })">验证生物识别
        </button>
        <button class="jsapiButton" onclick="jsapi_call('dismissFingerPrintDialog')">关闭指纹窗口（仅Android有）
        </button>
        <button class="jsapiButton" onclick="jsapi_call('hwFaceAuthentication')">华为人脸识别(仅android有)
        </button>
        <button class="jsapiButton" onclick="AMAPTouchDataID()">获取指纹信息</button>
        <button class="jsapiButton" onclick="jsapi_call('isSensorAvailable')">是否支持生物识别</button>
        <button class="jsapiButton" onclick="jsapi_call('createKeys')">生成将存储在设备密钥库中的公共专用RSA 2048密钥对
        </button>
        <button class="jsapiButton" onclick="jsapi_call('biometricKeysExist')">检测密钥是否已经生成并存在于密钥库中
        </button>
        <button class="jsapiButton" onclick="jsapi_call('deleteKeys')">从设备密钥库中删除生成的密钥</button>
        <button class="jsapiButton" onclick="jsapi_call('createSignature',{
                          'promptMessage':'Sign in',
                          'payload':'11111111111',
                          'cancelButtonText':'取消11'
                      })">提示用户输入指纹,使用私钥生成签名
        </button>
        <button class="jsapiButton"
            onclick="jsapi_call('simplePrompt',{'promptMessage':'Confirm fingerprint'})">提示用户输入其指纹
        </button>
        <button class="jsapiButton" onclick="jsapi_call('isBiometricsInfoChange')">指纹库是否发生改变</button>

        <p class="descript_title">设备信息/获取IP地址插件</p>
        <button class="jsapiButton" onclick="jsapi_call('getAllIPAddress')">获取IP地址</button>
        <button class="jsapiButton" onclick="jsapi_call('getAPPVersionName')">获取APP版本号</button>
        <button class="jsapiButton" onclick="jsapi_call('getDeviceId')">获取设备id</button>
        <button class="jsapiButton" onclick="jsapi_call('exitApp')">应用退出</button>
        <button class="jsapiButton" onclick="jsapi_call('onBack')">应用退到后台</button>
        <button class="jsapiButton" onclick="jsapi_call('getDeviceName')">获取设备名称</button>
        <button class="jsapiButton" onclick="jsapi_call('getSystemVersion')">获取系统版本号(仅ios)</button>
        <button class="jsapiButton" onclick="jsapi_call('getScaleScreen')">获取屏幕分辨率</button>
        <button class="jsapiButton" onclick="jsapi_call('getBrand')">获取设备品牌</button>
        <button class="jsapiButton" onclick="jsapi_call('getAppInformation')">获取app 信息</button>
        <button class="jsapiButton" onclick="jsapi_callSync('getAppInformation')">callSync获取app 信息</button>
        <p class="descript_title">文件信息操作插件插件</p>
        <button class="jsapiButton" onclick='saveFile()'>保存文件到本地</button>
        <button class="jsapiButton" onclick='readFile()'>读取文件</button>
        <button class="jsapiButton" onclick='deleteFile()'>删除文件</button>
        <button class="jsapiButton" onclick="jsapi_call('getAPPCacheFileSize')">获取APP缓存大小</button>
        <button class="jsapiButton" onclick="jsapi_call('removeAPPCacheFile')">清除APP缓存</button>
        <button class="jsapiButton" onclick='openLocalFile()'>打开本地文件</button>
        <p class="descript_title">手势</p>
        <button class="jsapiButton" onclick="jsapi_call('SetPwdLock',{
            lineColorType: lineColorType,
            maxError: '5'
        })">设置手势密码
        </button>
        <button class="jsapiButton" onclick="jsapi_call('DecryptLock',{
            lineColorType: lineColorType
        })">验证手势密码
        </button>
        <button class="jsapiButton" onclick="jsapi_call('ResetPwdLock',{
            lineColorType: lineColorType
        })">重置手势密码
        </button>

        <p class="descript_title">添加快捷图标到桌面插件</p>
        <button class="jsapiButton" onclick="jsapi_call('addIconHome',{
            iconImageUrl: 'https://amap.agreechina.com/dist/logo_small.png',
            title: '小程序',
            jumpType: '01',
            jumpId: 'modelId'
        })">添加快捷图标到桌面
        </button>

        <p class="descript_title">相册选择插件</p>
        <button class="jsapiButton" onclick='picture()'>打开相册</button>
        <button class="jsapiButton" onclick='shearImage()'>图片剪切</button>
        <button class="jsapiButton" onclick='saveAlbum()'>保存图片到相册</button>
        <button class="jsapiButton" onclick='compressImage()'>图片压缩</button>
        <button class="jsapiButton" onclick='imageTobase64()'>图片转base64</button>

        <p class="descript_title">网络插件</p>
        <button class="jsapiButton" onclick="jsapi_call('getNetInfo')">获取网络状态</button>
        <button class="jsapiButton" onclick='initHttps()'>网络初始化</button>
        <button class="jsapiButton" onclick='post()'>发送post请求</button>
        <button class="jsapiButton" onclick='addTasks()'>添加下载任务</button>
        <button class="jsapiButton" onclick='queryTasksStatus()'>查询下载任务状态</button>
        <button class="jsapiButton" onclick='showDownloadCenter()'>查看下载中心</button>
        <button class="jsapiButton" onclick="jsapi_call('userBind',{ useId: '123456'})">用户绑定</button>
        <button class="jsapiButton" onclick="jsapi_call('userUnBind',{})">用户解绑</button>
        <p class="descript_title">日历事件插件</p>
        <button class="jsapiButton" onclick='addCalenderEvent()'>添加日历事件</button>
        <button class="jsapiButton" onclick='checkCalenderEvent()'>查询日历事件集合</button>
        <button class="jsapiButton" onclick='removeCalenderEvent()'>删除日历事件</button>

        <p class="descript_title">Contact电话插件</p>
        <button class="jsapiButton" onclick='getCallPhone()'>打电话</button>
        <button class="jsapiButton" onclick='sendMessage()'>发短信</button>
        <button class="jsapiButton" onclick='sendEmail()'>发送邮件</button>
        <button class="jsapiButton" onclick='getCallStatusAndTime()'>获取通话状态和时间</button>
        <button class="jsapiButton" onclick='ringtong_shake()'>播放手机默认来电铃声 或 震动</button>

        <p class="descript_title">系统状态栏</p>
        <button class="jsapiButton" onclick="jsapi_call('setStatusBarFontColor',{
           light: true
       })">设置状态栏字体颜色-白色
        </button>
        <button class="jsapiButton" onclick="jsapi_call('setStatusBarFontColor',{
           light: false
       })">设置状态栏字体颜色-黑色
        </button>
        <button class="jsapiButton" onclick="jsapi_call('setStatusBarBackgroundColor',{
           statusBarBackgroundColor: '#000000'
       })">设置状态栏背景色-默认透明色
        </button>
        <button class="jsapiButton" onclick="jsapi_call('setStatusBarBackgroundColor',{
           statusBarBackgroundColor: '#00FFFF'
       })">设置状态栏背景色-绿色
        </button>
        <button class="jsapiButton" onclick="jsapi_call('hideStatusBar',{
           hide: true
       })">设置状态栏字体颜色-隐藏
        </button>
        <button class="jsapiButton" onclick="jsapi_call('hideStatusBar',{
           hide: false
       })">设置状态栏字体颜色-显示
        </button>

        <script src="js/vconsole.min.js"></script>
        <script src="js/bridge.js"></script>


</body>

</html>